package com.story.modular.app.dao;

import com.baomidou.mybatisplus.plugins.Page;
import com.story.common.persistence.model.AudioDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
  * 视频详情表 Mapper 接口
 * </p>
 *
 * @author yangbo
 * @since 2017-12-19
 */
public interface AudioDetailDao {

    /**
     * 统计一个专辑下的视频总数
     * @param categroyId
     * @return
     */
    int countVedioByCateId(@Param("categroyId") Integer categroyId);

    /**
     * 得到视频列表
     * @param keyword
     * @param startTime
     * @param endTime
     * @return
     */
    List<Map<String,Object>> getVedioList(@Param("page") Page<AudioDetail> page,
                                          @Param("keyword") String keyword,
                                          @Param("startTime") String startTime,
                                          @Param("endTime") String endTime,
                                          @Param("searchType") Integer searchType,
                                          @Param("orderByField") String orderByField,
                                          @Param("isAsc") boolean isAsc,
                                          @Param("resType") Integer resType);

    List<Map<String,Object>> getAppVedioList(@Param("page") Page<AudioDetail> page,
                                          @Param("zhuanjiId") Integer zhuanjiId,
                                          @Param("resType") Integer resType);

    int countByName(@Param("name") String name);

    /**
     * 得到最大的集数
     * @param cateId
     * @return
     */
    int getMaxOrderNum(@Param("cateId") Integer cateId);

    /**
     * 通过id查询视频详情
     * @param id
     * @return
     */
    Map<String,Object> getVedioDetailById(@Param("id") Integer id);

    /**
     * 批量修改
     * @param ids
     * @param cateId
     */
    void batchUpCateId(@Param("ids") List<Integer> ids, @Param("cateId") Integer cateId);

    /**
     * 批量删除视频
     * @param vedioIdList
     */
    void batchDeleteVedio(@Param("vedioIdList") List<Integer> vedioIdList);

    /**
     * 关键字搜索
     * @param keyword
     * @param resType
     * @return
     */
    List<Map<String,Object>> getRadioByKeywords(@Param("keyword") String keyword,
                                                @Param("resType") Integer resType);

    /**
     * app首页音频列表
     */

}